In the field of digital wireless communication, packet communication represented by Internet communication and speech storage, speech signal coding and decoding techniques are essential for effective use of channel capacity and storage media for radio waves. In particular, a CELP (Code Excited Linear Prediction) speech coding and decoding technique is a mainstream technique.
A CELP speech coding apparatus encodes input speech based on pre-stored speech models. To be more specific, the CELP speech coding apparatus separates a digital speech signal into frames of regular time intervals (e.g. approximately 10 to 20 ms), performs a linear predictive analysis of a speech signal on a per frame basis to find the linear prediction coefficients (“LPC's”) and linear prediction residual vector, and encodes the linear prediction coefficients and linear prediction residual vector separately. As a method of encoding linear prediction coefficients, generally, linear prediction coefficients are converted into LSP (Line Spectral Pair) parameters and these LSP parameters are encoded. Also, as a method of encoding LSP parameters, vector quantization is often performed for LSP parameters. Here, vector quantization refers to the method of selecting the most similar code vector to the quantization target vector from a codebook having a plurality of representative vectors (i.e. code vectors), and outputting the index (code) assigned to the selected code vector as a quantization result. In vector quantization, the codebook size is determined based on the amount of information that is available. For example, when vector quantization is performed using an amount of information of 8 bits, a codebook can be formed using 256 (=28) types of code vectors.
Also, to reduce the amount of information and the amount of calculations in vector quantization, various techniques are used, including MSVQ (Multi-Stage Vector Quantization) and SVQ (Split Vector Quantization) (see Non-Patent Document 1). Here, multi-stage vector quantization is a method of performing vector quantization of a vector once and further performing vector quantization of the quantization error, and split vector quantization is a method of quantizing a plurality of split vectors acquired by splitting a vector.
Also, there is a technique of performing vector quantization suitable for LSP features and further improving LSP coding performance, by adequately switching the codebook to use in vector quantization based on speech features that are correlated with the quantization target LSP's (e.g. information about the voiced characteristic, unvoiced characteristic and mode of speech). For example, in scalable coding, vector quantization of wideband LSP's are carried out by utilizing the correlations between wideband LSP's (which are LSP's found from wideband signals) and narrowband LSP's (which are LSP's found from narrowband signals), classifying the narrowband LSP's based on their features and switching the codebook in the first stage of multi-stage vector quantization based on the types of narrowband LSP features (hereinafter abbreviated to “types of narrowband LSP's”).    Non-Patent Document 1: Allen Gersho, Robert M. Gray, translated by Yoshii and three others, “Vector Quantization and Signal Compression,” Corona Publishing Co., Ltd, 10 Nov. 1998, pages 506 and 524 to 531